/*
 * Vehicle.h
 *
 *  Created on: Aug 26, 2011
 *      Author: erudhes
 */
#ifndef VEHICLE_H_
#define VEHICLE_H_
#include <vector>
#include <wx/wx.h>

class Vehicle
{
	public:
		Vehicle(const wxPoint& position, wxBitmap& bitmap, unsigned int dotSize);
		virtual ~Vehicle();
		const wxPoint& getPosition() const;
		const wxPoint& getSpeed() const;
		std::vector<wxPoint> getValidNextPositions() const;
		bool move(const wxPoint& nexPosition);
		void draw(bool erase = false);

	private:
		wxPoint mPosition;
		wxPoint mSpeed;
		wxBitmap& mBitmap;
		unsigned int mDotSize;
};

inline const wxPoint& Vehicle::getPosition() const
{
	return mPosition;
}

inline const wxPoint& Vehicle::getSpeed() const
{
	return mSpeed;
}

#endif /* VEHICLE_H_ */
